home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / adodb / session / crypt.inc.php < prev    next >
PHP Script  |  2003-12-13  |  1KB  |  64 lines

  1. <?php
  2. //     Session Encryption by Ari Kuorikoski <ari.kuorikoski@finebyte.com>
  3. class MD5Crypt{
  4.         function keyED($txt,$encrypt_key)
  5.         {
  6.                 $encrypt_key = md5($encrypt_key);
  7.                 $ctr=0;
  8.                 $tmp = "";
  9.                 for ($i=0;$i<strlen($txt);$i++){
  10.                         if ($ctr==strlen($encrypt_key)) $ctr=0;
  11.                         $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
  12.                         $ctr++;
  13.                 }
  14.                 return $tmp;
  15.         }
  16.  
  17.         function Encrypt($txt,$key)
  18.         {
  19.                 srand((double)microtime()*1000000);
  20.                 $encrypt_key = md5(rand(0,32000));
  21.                 $ctr=0;
  22.                 $tmp = "";
  23.                 for ($i=0;$i<strlen($txt);$i++)
  24.                 {
  25.                 if ($ctr==strlen($encrypt_key)) $ctr=0;
  26.                 $tmp.= substr($encrypt_key,$ctr,1) .
  27.                 (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
  28.                 $ctr++;
  29.                 }
  30.                 return base64_encode($this->keyED($tmp,$key));
  31.         }
  32.  
  33.         function Decrypt($txt,$key)
  34.         {
  35.                 $txt = $this->keyED(base64_decode($txt),$key);
  36.                 $tmp = "";
  37.                 for ($i=0;$i<strlen($txt);$i++){
  38.                         $md5 = substr($txt,$i,1);
  39.                         $i++;
  40.                         $tmp.= (substr($txt,$i,1) ^ $md5);
  41.                 }
  42.                 return $tmp;
  43.         }
  44.  
  45.         function RandPass()
  46.         {
  47.                 $randomPassword = "";
  48.                 srand((double)microtime()*1000000);
  49.                 for($i=0;$i<8;$i++)
  50.                 {
  51.                         $randnumber = rand(48,120);
  52.  
  53.                         while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
  54.                         {
  55.                                 $randnumber = rand(48,120);
  56.                         }
  57.  
  58.                         $randomPassword .= chr($randnumber);
  59.                 }
  60.                 return $randomPassword;
  61.         }
  62.  
  63. }
  64. ?>